#define  _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//int main() {
//	string s1 = "hello world!";
//	cout << s1 << endl;
//	string s2 = s1;
//	cout << s2 << endl;
//	string s3("hello world!");
//	string s4(s1);
//	cout << s3 << endl;
//	cout << s4 << endl;
//	string s5(s2, 0, 6);
//	cout << s5 << endl;
//
//	return 0;
//}
//class Solution {
//public:
//    int myAtoi(string str) {
//        bool flag = true;
//        int i = 0;
//        while (str[i] == ' ' && i < str.size()) {
//            i++;
//        }
//        if (str[i] == '-') {
//            flag = false;
//            i++;
//        }
//        else if (str[i] == '+') {
//            i++;
//        }
//        if (str[i] < '0' || str[i]>'9') {
//            return 0;
//        }
//        int num = 0;
//        int res = 0;
//        int max1 = INT_MAX / 10;
//        while (i < str.size()) {
//            if (str[i] < '0' || str[i]>'9') {
//                break;
//            }
//            if (res > max1 || res == max1 && str[i] > '7') {
//                return flag == true ? INT_MAX : INT_MIN;
//            }
//            num = str[i] - '0';
//            res = res * 10 + num;
//            i++;
//        }
//        if (flag == false) {
//            return (-1) * res;
//        }
//        else {
//            return res;
//        }
//    }
//};
//class Solution {
//public:
//    int firstUniqChar(string s) {
//        int arr[100000] = { 0 };
//        for (int i = 0; i < s.size(); i++) {
//            for (int j = 0; j < s.size(); j++) {
//                if (s[i] == s[j] && i != j) {
//                    arr[i] = 1;
//                }
//            }
//        }
//        for (int z = 0; z < s.size(); z++) {
//            if (arr[z] == 0) {
//
//                return z;
//
//            }
//        }
//        return -1;
//    }
//};
//class Solution {
//public:
//    int firstUniqChar(string s)
//    {
//        for (int i = 0; i < s.size(); ++i)
//        {
//            int index = s.find(s[i]);
//            int reverse_index = s.rfind(s[i]);
//            if (index == reverse_index)
//                return i;
//        }
//        return -1;
//    }
//};
//class Solution {
//public:
//    void reverseString(vector<char>& s) {
//        if (s.empty()) {
//            return;
//        }
//        int begin = 0;
//        int end = s.size() - 1;
//        while (begin < end) {
//            swap(s[begin], s[end]);
//            begin++;
//            end--;
//        }
//
//    }
//};